package acceptance;

import presentation.UIPost ;
import presentation.UIThread ;


/**
 *
 */
public interface IBridge
{
	/**
	 * @param adminId - the id of admin
	 * @param userName - the user we want to add the privileges to
	 * @return true if succsseful of false otherwise
	 */
	public boolean addModaratorPrivileges(long adminId,String userName);

	/**
	 * @param threadId - the thread to which we add the post
	 * @param msg - the string of the post
	 * @param writerId - the writer of the post
	 * @return true if succsseful of false otherwise
	 */
	public UIPost addPost(long threadId,String msg,long writerId);

	public void createNewData();

	public UIThread createNewThread(String topic,long userId);

	/**
	 * @param threadId - the thread from which we delete the post
	 * @param postId - the id of the post
	 * @param userId - the writer of the post
	 * @return true if succsseful of false otherwise
	 */
	public boolean deletePost(long userId, long postId, long threadId);

	/**
	 * @param username - the username of the person who wants to login
	 * @param password - the password of the person who wants to login
	 * @return true if succsseful of false otherwise
	 */
	public boolean login(String username, String password);

	/**
	 * @param userId - the id of the person who wants to logout
	 * @return true if succsseful of false otherwise
	 */
	public boolean logout(long userId);

	/**
	 * @param username - the username of the person who wants to register
	 * @param password - the password of the person who wants to register
	 * @return true if succsseful of false otherwise
	 */
	public boolean register(String username, String password);

	/**
	 * @param authorName - the name of the author of the message
	 * @param msg - the message itself
	 * @return true if succsseful of false otherwise
	 */
	public boolean searchForMessageByCategories(String authorName, String msg);






}
